#ifndef _EBN_WORLD_STATE_MANAGER_
#define _EBN_WORLD_STATE_MANAGER_

#include <vector>
#include <string>
#include "EbnWorldState.h"

using namespace std;

class CEbnWorldStateManager
{
public:
    CEbnWorldStateManager(void);
    ~CEbnWorldStateManager(void);

    CEbnWorldState * addWorldState(string worldStateName);
    void removeWorldState(string worldStateName);

    void removeWorldState(CEbnWorldState * worldState);
    CEbnWorldState * getWorldState(string worldStateName);
    bool hasProposition(string worldStateName);

    bool setWorldStateValue(string worldStateName, float value);
    float getWorldStateValue(string worldStateName);

    void clear();
private:
    vector<CEbnWorldState *> mWorldStates;
};

#endif
